﻿import gs.dataTransfer.XMLParser;
import clases.dades.apartats.ApLinks;
import clases.dades.Idioma;

/**
 * Carrega i parseja XML d'apartat Links
 * 
 * @author JDo
 * @version 1.0
 */
class clases.dades.xml.XMLApLinks extends MovieClip{
	private var _Links:Array;
	
	private var _onCarregat  :Function;
	private var _base        :MovieClip;
	
	/**
	 * Constructor
	 * 
	 * @param $xml        XML a carregar i parsejar
	 * @param $onCarregat Funció a cridar quan s'acaba tot el proces
	 * @param $base       MC origen de la crida a la classe
	 */
	public function XMLApLinks($xml:String,$onCarregat:Function,$base:MovieClip){
		_onCarregat = $onCarregat;
		_base       = $base;
		XMLParser.load($xml, xmlCarregat, this);
	}
	
	/**
	 * Carrega de l'XML completa
	 * 
	 * @param $ok        Ens diu si s'ha pogut carregar i parsejar l'XML
	 * @param $resultats Resultat del parseig
	 * @param $xml       XML que s'ha carregat
	 * @param $base      Origen de la crida del parsejador
	 */
	private function xmlCarregat($ok:Boolean, $resultats:Object, $xml:XML, $base:MovieClip):Void {
		$xml = null;
		if ($ok) {
			$base.parsejaResultats($resultats); 
		}
	}
	
	/**
	 * Parsseig de l'XML
	 * 
	 * @param $resultado Resultat del parser per tractar-lo 
	 */
	private function parsejaResultats($resultado:Object):Void{
		_Links = new Array();
		/*_Catala   = new ApGeneric($resultado.foto[0].value,
								  $resultado.titul[0].catala[0].value ,
								  $resultado.text[0].catala[0].value);
		
		_Castella = new ApGeneric($resultado.foto[0].value,
								  $resultado.titul[0].castella[0].value ,
								  $resultado.text[0].castella[0].value);
		
		_Angles   = new ApGeneric($resultado.foto[0].value,
								  $resultado.titul[0].angles[0].value ,
								  $resultado.text[0].angles[0].value);*/

		var lnk:ApLinks;
		for(var link:Number = 0; link<$resultado.link.length;link++){
			lnk = new ApLinks($resultado.link[link].nom[0].value,
							  $resultado.link[link].url[0].value);
			_Links.push(lnk);
		}

		_onCarregat(_base);
	}
	
	public function get links():Array{
		return _Links;
	}
}